package main

import (
	"fmt"
	"strings"
)

// 字符串常用方法三
func main() {
	testTrimSpace()

	testTrim()
	testTrimLeft()
	testTrimRight()

	testHasSuffix()

	testHasPrefix()
}

// testTrimSpace
//
//	@Description:  去除首尾空格
func testTrimSpace() {
	fmt.Println("---------------- 去除首尾空格 ----------------")
	var str string = "  hello  "
	space := strings.TrimSpace(str)
	fmt.Printf("%s去除首尾空格：%s \n", str, space)
	//  hello  去除首尾空格：hello
}

// testTrim
//
//	@Description: 去除首尾指定的字符
func testTrim() {
	fmt.Println("---------------- 去除首尾指定的字符 ----------------")
	var str string = "__hello______"
	var cutset string = "_"
	space := strings.Trim(str, cutset)
	fmt.Printf("%s去除首尾：%s 最后成为：%s \n", str, cutset, space)

	//__hello______去除首尾：_ 最后成为：hello

}

func testTrimLeft() {
	fmt.Println("---------------- 去除left指定的字符 ----------------")
	var str string = "__hello______"
	var cutset string = "_"
	space := strings.TrimLeft(str, cutset)
	fmt.Printf("%s去除left：%s 最后成为：%s \n", str, cutset, space)
	//__hello______去除left：_ 最后成为：hello______
}

func testTrimRight() {
	fmt.Println("---------------- 去除right指定的字符 ----------------")
	var str string = "__hello______"
	var cutset string = "_"
	space := strings.TrimRight(str, cutset)
	fmt.Printf("%s去除right：%s 最后成为：%s \n", str, cutset, space)
	//__hello______去除right：_ 最后成为：__hello
}

// testHasSuffix
//
//	@Description: 字符串是否有指定的后缀
func testHasSuffix() {
	fmt.Println("---------------- 字符串是否有指定的后缀 ----------------")
	var str string = "hello"
	var suffix string = "lo"
	hasSuffix := strings.HasSuffix(str, suffix)
	fmt.Printf("%s是否有%s的后缀：%t \n", str, suffix, hasSuffix)
	//hello是否有lo的后缀：true

}

// testHasPrefix
//
//	@Description: 字符串是否有指定的前缀
func testHasPrefix() {
	fmt.Println("---------------- 字符串是否有指定的前缀 ----------------")
	var str string = "hello"
	var prefix string = "lo"
	hasPrefix := strings.HasPrefix(str, prefix)
	fmt.Printf("%s是否有%s的前缀：%t \n", str, prefix, hasPrefix)
	//hello是否有lo的前缀：false

}
